#ifndef CONTENTWIDGET_H
#define CONTENTWIDGET_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QTextEdit>
#include <QLabel>
#include <QNetworkReply>
#include <QList>
#include <QJsonObject>
#include <QString> // 明确包含 QString，虽然可能已经被其他头文件包含了，但显式包含更清晰

class ContentWidget : public QWidget
{
    Q_OBJECT

public:
    ContentWidget(QWidget *parent = nullptr);
    ~ContentWidget();
    QString text;//读到的文字
public slots:
    void on_sendButton_clicked();
    void on_uploadImageButton_clicked(const QString &fileName); // 新增的图片上传按钮的槽函数

private:
    void sendGeminiRequest(); // 修改后的 sendGeminiRequest 函数，不再接受 inputText 参数
    QJsonObject processImage(const QString& imagePath); // 新增的图像处理函数

    QLineEdit *inputLineEdit;
    QPushButton *sendButton;
    QPushButton *uploadImageButton; // 新增的上传图片按钮
    QTextEdit *responseTextEdit;
    QLabel *responseLabel;
    QLabel *imageLabel; // 用于显示上传图片文件名的标签

    QList<QJsonObject> conversationHistory;
    QString selectedImagePath; // 用于存储选择的图片路径


};

#endif // CONTENTWIDGET_H
